1
Основные функциональные преобразования
AI019Lesson 3
00:00

В Эликсире вычисления рассматриваются как ряд основных преобразований. Данные неизменны, а оператор = не предназначен для присваивания, а для сопоставления с образцом.

1. Оператор сопоставления

Сопоставление позволяет связывать значения с шаблонами. Если структура левой части не соответствует правой, преобразование завершается неудачно. Эликсир использует специализированные операторы для потока данных: арифметика (+, -, *, /), сравнение (===, !==, >=), и объединение (<> для строк, ++ для списков).

2. Выражение 'with'

Выражение with организует многошаговые преобразования, где успех зависит от условия. Оно позволяет последовательно выполнять сопоставления с использованием <-. В отличие от оператора сопоставления =, если сопоставление в <- не удается, выражение возвращает значение, которое не соответствует, вместо того чтобы вызвать ошибку.

[1,2,3][a|_] <- inputa = 1Ошибка: вернуть входное значение

3. Область видимости и синтаксис

Под капотом, with рассматривается как макрос или вызов функции. Переменные, определённые внутри него, не попадают во внешнюю область видимости. Синтаксис, подобный mean = with count = ..., do: sum/count — это способ вычисления производных значений через выражения.

$$\text{среднее} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>